package  com.zerosky.crm.dao;

import java.util.List;
import java.util.Map;

import com.zerosky.crm.po.Employee;

/**Employee数据接口
 * 
 * 
 * @author hugy;
 * @since 2017-06-08
 */
public interface EmployeeDAO{
	
	/**验证用户登录信息*/
	public Employee userLogin(Map map);
	
	/**
	 * Employee列表数据接口
	 * 
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public List<Employee> getEmployeeList(Map map);

	/**通过主键查找Employee数据接口 
	 * @param id Employee主键
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public Employee getEmployeeById(String id);

	/**新增Employee数据接口
	 * @param Employee 实体对象
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public int addEmployee(Employee employee) throws Exception;
	/**新增Employee数据接口
	 * @param Employee 实体对象
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public int addEmployeeList(List<Employee> list) throws Exception;
	
	/**修改Employee数据接口
	 * @param Employee 实体对象
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public int updateEmployee(Employee employee) throws Exception;

	/**通过主键删除Employee数据接口
	 * @param id Employee主键
	 * @author hugy;
	 * @since 2017-06-08
	 */
	public int deleteEmployeeById(String id) throws Exception;	
	
	/**
	 * 总记录数
	 * @param map
	 * @return
	 */
	public Integer countEmployee(Map<String,Object> map);
	/**
	 * 员工客户数量总记录数
	 * @param map
	 * @return
	 */
	public Integer getEmployeeCustomerNumberCount(Map<String,Object> map);
	
	/**
	 * 统计当前部门员工拥有的客户数量
	 * @param map
	 * @return
	 */
	public List<Employee> getEmployeeCustomerNumber(Map<String, Object> map);
	/**
	 * 新增修改用户账号手机号码时检验数据库中是否已存在
	 * @param map 参数map
	 * @return
	 */
	public int checkIsExist(Map<String, Object> map);
	
	
}
